/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.bda.mediatheque.service;

import com.bda.mediatheque.entities.Emprunt;
import com.bda.mediatheque.entities.Lignedepanier;
import com.bda.mediatheque.entities.Panier;
import java.util.Date;

/**
 *
 * @author HP
 */
public class ImpEmpruntDao extends ImplJpaDao<Integer, Emprunt> implements IEmpruntDao {

    @Override
    public void emprunterPanier(Panier panier) {
        entityManager.getTransaction().begin();
        try {
            for (Lignedepanier ligneDePanier : panier.getLignedepanierList()) {
                Emprunt emprunt = new Emprunt();
                emprunt.setUtilisateur(panier.getUtilisateur());
                emprunt.setExemplaire(ligneDePanier.getExemplaire());
                emprunt.setDateEmprunt(new Date());
                // Ajouter un emprunt
                entityManager.persist(emprunt);
                
                // Supprimer la ligne de panier 
                entityManager.remove(entityManager.find(Lignedepanier.class, ligneDePanier.getLigneDePanierID()));

            }
            
            // Changer l'etat du panier 
            Panier panierEtat = entityManager.find(Panier.class, panier.getPanierId());
            panierEtat.setEtat(0);
            entityManager.merge(panierEtat);

            entityManager.getTransaction().commit();
        } catch (Exception e) {
            e.printStackTrace();
            entityManager.getTransaction().rollback();
        } finally {
            entityManager.close();
        }
    }
}
